﻿namespace OutLook.Module.Infrastructure.Interfaces
{
    using System;

    /// <summary>
    /// Service Locator Interface
    /// </summary>
    public interface IServiceLocator : IServiceProvider
    {
        /// <summary>
        /// Adds new pair Inerface-Class into dictionary
        /// </summary>
        /// <param name="key">Key type</param>
        /// <param name="value">Value</param>
        void Add(Type key, object value);

        /// <summary>
        /// Removes item from dictionary
        /// </summary>
        /// <param name="key">Item key type</param>
        void Remove(Type key);
    }
}
